# cron: 5 57 6,9,12,15,18 * * *
# new Env("元宝阅读")
#   --------------------------------注释区--------------------------------
#   入口:https://search.weixin.qq.com/cgi-bin/newsearchweb/userclientjump?path=page/search/christmas_jump&query=http://wxt.liangqi5.asia/user/home.html?m=npzfg 
#
#   需抓取数据: 
#   * 填写穿透出来的api接口
#   * 不想跑的号可以填wxid到 yuanshen_ybydapi_notrun 多个#分割 注意是原始id
#   * 不能自动提现 只能手动
#
# 下面是自定义变量设置(注意是修改对应的环境变量而不是改文件内容):
# huaji_ybyd_max_threads     默认1    最大线程数
#   --------------------------------祈求区--------------------------------
#                     _ooOoo_
#                    o8888888o
#                    88" . "88
#                    (| -_- |)
#                     O\ = /O
#                 ____/`---'\____
#               .   ' \\| |// `.
#                / \\||| : |||// \
#              / _||||| -:- |||||- \
#                | | \\\ - /// | |
#              | \_| ''\---/'' | |
#               \ .-\__ `-` ___/-. /
#            ___`. .' /--.--\ `. . __
#         ."" '< `.___\_<|>_/___.' >'"".
#        | | : `- \`.;`\ _ /`;.`/ - ` : | |
#          \ \ `-. \_ __\ /__ _/ .-` / /
#  ======`-.____`-.___\_____/___.-`____.-'======
#                     `=---='
# 
#  .............................................
#           佛祖保佑             永无BUG
#           佛祖镇楼             BUG辟邪
#   --------------------------------代码区--------------------------------
'''
Create at [2025-03-27 19:14:56]
'''
import requests
import os
import sys
import platform
import subprocess
import importlib
import datetime
from urllib.parse import urlparse
import logging
import socket
logging.basicConfig(level=logging.INFO, format='[%(levelname)s] ===> %(message)s')
log = logging.getLogger(__name__)

THIS_Proxies = 'https://github.huaji.asia/'   # 网络不行就填Github代理 这里只给出一个要是不行就自己找 https://github.huaji.asia/

data = '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'
func = 'main'

GithubUrl = f"{THIS_Proxies.rstrip('/')}/https://raw.githubusercontent.com/huaji8/So_common/master/so" if THIS_Proxies else 'https://raw.githubusercontent.com/huaji8/So_common/master/so'
THIS_MODE = 'Huaji_SoLoader'
So_name = f'{THIS_MODE}.so'




def get_system_info() -> None:
    global Download_name
    python_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
    download_pyver = f'{sys.version_info.major}.{sys.version_info.minor}'
    processor_arch = platform.machine().replace('AMD64', 'x86_64').replace('x64', 'x86_64')
    system_name = platform.system()
    system_ver = platform.release() + " " + platform.version()
    system_arch = platform.architecture()[0]
    if system_name == "Darwin":
        system_name = "macOS"
        system_ver = platform.mac_ver()[0]
    elif system_name == "Windows":
        system_ver = f"{platform.release()} (Build {platform.win32_ver()[1]})"
    
    log.info(f"系统信息 [Python/{python_version}] [系统架构 {processor_arch}] [{system_name}/{system_ver} {system_arch}]")
    if download_pyver not in ['3.10','3.11','3.12']:
        log.error(f'当前Python版本不支持运行此脚本，请使用Python3.10或3.11或3.12运行此脚本,什么??你不重装,简单,删除本脚本然后睡觉觉就行了..')
        
    if processor_arch == 'x86_64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
    elif processor_arch == 'aarch64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_aarch64.so'
    else:
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
        
    if processor_arch not in ['x86_64', 'aarch64']:
        log.warning(f'当前系统架构大概率不支持运行此脚本...')
        return
    elif 'Linux' not in system_name:
        log.error(f'当前系统不支持运行此脚本，请使用Linux运行此脚本')
    else:
        log.info('系统检测通过,开始运行脚本')
        return
    
    
    
    exit()



def download_file(save_path: str = None) -> bool:
    url =  GithubUrl + '/' + Download_name
    
    try:
        try:
            socket.create_connection(("www.github.com", 80), timeout=5)
            socket.create_connection(("www.github.com", 443), timeout=5)
        except (socket.timeout, socket.gaierror):
            log.warning("无法连接到Github,大概率下载是失败的,请检查网络或使用代理")

        if not save_path:
            file_name = os.path.basename(urlparse(url).path) or "downloaded_file"
            save_path = os.path.join(os.getcwd(), file_name)
        if os.path.exists(save_path) and os.path.getsize(save_path) == 0:
            os.remove(save_path)
        save_dir = os.path.dirname(save_path)
        os.makedirs(save_dir, exist_ok=True)
        curl_cmd = "curl.exe" if platform.system() == "Windows" else "curl"
        cmd = [
            curl_cmd,
            "-L", 
            "-f",
            "--silent",
            "--show-error",
            "-o", save_path,
            "-m","180",
            url
        ]

        result = subprocess.run(
            cmd,
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )


        if not os.path.exists(save_path):
            log.error(f"下载文件不存在: {save_path}")
            return False
        if os.path.getsize(save_path) == 0:
            os.remove(save_path)
            log.error(f"下载文件为空: {save_path}")
            return False
        if result.returncode != 0:
            log.error(f"下载失败: {result.stderr.strip()}")
            return False
        log.info(f"文件下载成功: {save_path}")
        os.rename(Download_name, So_name)
        return True

    except subprocess.CalledProcessError as e:
        error_msg = f"下载失败: {e.stderr.strip()}" if e.stderr else "未知curl错误"
        log.error(error_msg)
        return False
    except Exception as e:
        log.error(f"下载异常: {str(e)}")
        return False
    
def dynamic_import(module_name: str) -> object:
    return importlib.import_module(module_name)

    
def Run() -> None:
    if os.path.exists(So_name):
        log.info('so文件存在,开始运行')
        print('='*30)
        obj = dynamic_import(THIS_MODE)
        obj.run(func, data)
    else:
        log.info('so文件不存在,开始下载')
        if download_file():
            Run()
        else:
            log.error('下载失败,请检查网络或使用代理')


if __name__ == '__main__':
    get_system_info()
    Run()
